home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Tool Chest / Development Tools & Languages / Macintosh Common Lisp Related / interfaces / PInterface Translator / PInterfaces / Palettes.p < prev    next >
Encoding:
Text File  |  1993-09-16  |  5.0 KB  |  152 lines  |  [TEXT/MPS ]

  1. {
  2. Created: Saturday, January 19, 1991 at 7:08 AM
  3.     Palettes.p
  4.     Pascal Interface to the Macintosh Libraries
  5.  
  6.         Copyright Apple Computer, Inc.    1987-1990
  7.         All rights reserved
  8. }
  9.  
  10.  
  11. {$IFC UNDEFINED UsingIncludes}
  12. {$SETC UsingIncludes := 0}
  13. {$ENDC}
  14.  
  15. {$IFC NOT UsingIncludes}
  16.     UNIT Palettes;
  17.     INTERFACE
  18. {$ENDC}
  19.  
  20. {$IFC UNDEFINED UsingPalettes}
  21. {$SETC UsingPalettes := 1}
  22.  
  23. {$I+}
  24. {$SETC PalettesIncludes := UsingIncludes}
  25. {$SETC UsingIncludes := 1}
  26. {$IFC UNDEFINED UsingQuickdraw}
  27. {$I $$Shell(PInterfaces)Quickdraw.p}
  28. {$ENDC}
  29. {$IFC UNDEFINED UsingWindows}
  30. {$I $$Shell(PInterfaces)Windows.p}
  31. {$ENDC}
  32. {$SETC UsingIncludes := PalettesIncludes}
  33.  
  34. CONST
  35. pmCourteous = 0;                            {Record use of color on each device touched.}
  36. pmTolerant = $0002;                         {render ciRGB if ciTolerance is exceeded by best match.}
  37. pmAnimated = $0004;                         {reserve an index on each device touched and render ciRGB.}
  38. pmExplicit = $0008;                         {no reserve, no render, no record; stuff index into port.}
  39.  
  40. pmWhite = $0010;
  41. pmBlack = $0020;
  42.  
  43. pmInhibitG2 = $0100;
  44. pmInhibitC2 = $0200;
  45. pmInhibitG4 = $0400;
  46. pmInhibitC4 = $0800;
  47. pmInhibitG8 = $1000;
  48. pmInhibitC8 = $2000;
  49.  
  50.  
  51. { NSetPalette Update Constants }
  52. pmNoUpdates = $8000;                        {no updates}
  53. pmBkUpdates = $A000;                        {background updates only}
  54. pmFgUpdates = $C000;                        {foreground updates only}
  55. pmAllUpdates = $E000;                       {all updates}
  56.  
  57. TYPE
  58. ColorInfo = RECORD
  59.     ciRGB: RGBColor;                        {true RGB values}
  60.     ciUsage: INTEGER;                       {color usage}
  61.     ciTolerance: INTEGER;                   {tolerance value}
  62.     ciDataFields: ARRAY [0..2] OF INTEGER;  {private fields}
  63.     END;
  64.  
  65. PalettePtr = ^Palette;
  66. PaletteHandle = ^PalettePtr;
  67. Palette = RECORD
  68.     pmEntries: INTEGER;                     {entries in pmTable}
  69.     pmDataFields: ARRAY [0..6] OF INTEGER;  {private fields}
  70.     pmInfo: ARRAY [0..0] OF ColorInfo;
  71.     END;
  72.  
  73.  
  74. PROCEDURE InitPalettes;
  75.     INLINE $AA90;
  76. FUNCTION NewPalette(entries: INTEGER;srcColors: CTabHandle;srcUsage: INTEGER;
  77.     srcTolerance: INTEGER): PaletteHandle;
  78.     INLINE $AA91;
  79. FUNCTION GetNewPalette(PaletteID: INTEGER): PaletteHandle;
  80.     INLINE $AA92;
  81. PROCEDURE DisposePalette(srcPalette: PaletteHandle);
  82.     INLINE $AA93;
  83. PROCEDURE ActivatePalette(srcWindow: WindowPtr);
  84.     INLINE $AA94;
  85. PROCEDURE SetPalette(dstWindow: WindowPtr;srcPalette: PaletteHandle;cUpdates: BOOLEAN);
  86.     INLINE $AA95;
  87. PROCEDURE NSetPalette(dstWindow: WindowPtr;srcPalette: PaletteHandle;nCUpdates: INTEGER);
  88.     INLINE $AA95;
  89. FUNCTION GetPalette(srcWindow: WindowPtr): PaletteHandle;
  90.     INLINE $AA96;
  91. PROCEDURE CopyPalette(srcPalette: PaletteHandle;dstPalette: PaletteHandle;
  92.     srcEntry: INTEGER;dstEntry: INTEGER;dstLength: INTEGER);
  93.     INLINE $AAA1;
  94. PROCEDURE PmForeColor(dstEntry: INTEGER);
  95.     INLINE $AA97;
  96. PROCEDURE PmBackColor(dstEntry: INTEGER);
  97.     INLINE $AA98;
  98. PROCEDURE AnimateEntry(dstWindow: WindowPtr;dstEntry: INTEGER;srcRGB: RGBColor);
  99.     INLINE $AA99;
  100. PROCEDURE AnimatePalette(dstWindow: WindowPtr;srcCTab: CTabHandle;srcIndex: INTEGER;
  101.     dstEntry: INTEGER;dstLength: INTEGER);
  102.     INLINE $AA9A;
  103. PROCEDURE GetEntryColor(srcPalette: PaletteHandle;srcEntry: INTEGER;VAR dstRGB: RGBColor);
  104.     INLINE $AA9B;
  105. PROCEDURE SetEntryColor(dstPalette: PaletteHandle;dstEntry: INTEGER;srcRGB: RGBColor);
  106.     INLINE $AA9C;
  107. PROCEDURE GetEntryUsage(srcPalette: PaletteHandle;srcEntry: INTEGER;VAR dstUsage: INTEGER;
  108.     VAR dstTolerance: INTEGER);
  109.     INLINE $AA9D;
  110. PROCEDURE SetEntryUsage(dstPalette: PaletteHandle;dstEntry: INTEGER;srcUsage: INTEGER;
  111.     srcTolerance: INTEGER);
  112.     INLINE $AA9E;
  113. PROCEDURE CTab2Palette(srcCTab: CTabHandle;dstPalette: PaletteHandle;srcUsage: INTEGER;
  114.     srcTolerance: INTEGER);
  115.     INLINE $AA9F;
  116. PROCEDURE Palette2CTab(srcPalette: PaletteHandle;dstCTab: CTabHandle);
  117.     INLINE $AAA0;
  118. FUNCTION Entry2Index(entry: INTEGER): LONGINT;
  119.     INLINE $7000,$AAA2;
  120. PROCEDURE RestoreDeviceClut(gd: GDHandle);
  121.     INLINE $7002,$AAA2;
  122. PROCEDURE ResizePalette(p: PaletteHandle;size: INTEGER);
  123.     INLINE $7003,$AAA2;
  124. PROCEDURE SaveFore(VAR c: ColorSpec);
  125.     INLINE $303C,$040D,$AAA2;
  126. PROCEDURE SaveBack(VAR c: ColorSpec);
  127.     INLINE $303C,$040E,$AAA2;
  128. PROCEDURE RestoreFore(c: ColorSpec);
  129.     INLINE $303C,$040F,$AAA2;
  130. PROCEDURE RestoreBack(c: ColorSpec);
  131.     INLINE $303C,$0410,$AAA2;
  132. FUNCTION SetDepth(gd: GDHandle;depth: INTEGER;whichFlags: INTEGER;flags: INTEGER): OSErr;
  133.     INLINE $303C,$0A13,$AAA2;
  134. FUNCTION HasDepth(gd: GDHandle;depth: INTEGER;whichFlags: INTEGER;flags: INTEGER): INTEGER;
  135.     INLINE $303C,$0A14,$AAA2;
  136. FUNCTION PMgrVersion: INTEGER;
  137.     INLINE $7015,$AAA2;
  138. PROCEDURE SetPaletteUpdates(p: PaletteHandle;updates: INTEGER);
  139.     INLINE $303C,$0616,$AAA2;
  140. FUNCTION GetPaletteUpdates(p: PaletteHandle): INTEGER;
  141.     INLINE $303C,$0417,$AAA2;
  142. FUNCTION GetGray(device: GDHandle;backGround: RGBColor;VAR foreGround: RGBColor): BOOLEAN;
  143.     INLINE $303C,$1219,$AAA2;
  144.  
  145.  
  146. {$ENDC}    { UsingPalettes }
  147.  
  148. {$IFC NOT UsingIncludes}
  149.     END.
  150. {$ENDC}
  151.  
  152.